软考真题
第6题
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】
某图书管理系统中管理着两种类型的文献:图书和论文。现在要求统计所有馆藏文献的总页码(假设图书馆中有一本540页的图书和两篇各25页的论文,那么馆藏文献的总页码就是590页)。采用Visitor(访问者)模式实现该要求,得到如图6-1所示的类图。



【Java 代码】


import java.util.*;
interface LibraryVisitor {
 (1)  :
 (2)   :
void printSum();
}
class LibrarySumPrintVisitor implements LibraryVisitor { //打印总页数
private int sum = 0;
public void visit(Book p_book) {
sum = sum + p_book.getNumberOfPages();
public void visit(Article p_article) {
sum = sum + p_article.getNumberOfPages0;
}
public void printSum(){
System.out.println("SUM = " + sum);
}
}
interface LibraryItemInterface {
(3) ;
}
class Article implements LibraryItemInterface{
private String m_title; //价仑文名 。
private String m_author; //仑文作者
private int m_start_page;
private int m_end_page;
public Article(String p_author, String p_title,int p_start_page,int p_end_page){
m_title=p_title;
m_author= p_author;
m_end_page=p_end_page;
}
public int getNumbelOfPages(){
rctum m_end_page - m_start_page;
}
public void acccpt(LibraryVisitor Visitor){
(4) :
}
}
class Book implements LibraryItemInterface{
private String m_title; //书名
private String m_author; //书作者
private int m_pages; //页教
public Book(String p_author, String p_title,int p_ pages){
m_title= p_title;
m_author= p_author;
m_pages= p_pages;
}
public int getNumberOfPages(){
return m_pages; 
}
public void accept(LibraryVisitor visitor){
(5)___;
}
}



【问题:6.1】 (15分)
阅读上述说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
2015年 上半年 下午试卷 案例
正确答案:
你的答案:
请先在App中激活(应用市场搜“软考真题”)
知识点:
试卷:
2015年 上半年 下午试卷 案例

笔记

答题卡
加油
纠错
得分:0